final关键字用法
空白final
- 空白final:被声明为final但又未给定初值的域。
- 必须在域的定义处或者每个构造器中用表达式对final进行赋值。
final参数
- 无法再方法中更改参数引用所指向的对象。
- 当基本类型的参数被指明为final时,你可以读取参数,却无法修改参数。
final方法
- 防止任何继承类修改它的含义。
- 类中所有private方法都是隐式指定为final的。
static+final+继承与初始化
1 | public class Insect { |
初始化顺序:
- 基类的static初始化->子类的static初始化
- 基类的基本类型与对象引用被设置为初始值->子类的基本类型与对象引用被设置为初始值
- 基类的构造器->子类的构造器